πŸ•ΈοΈ Ada Research Browser

tasks.md
← Back

Tasks: Vagrant Demo Lab Environment

Input: Design documents from /specs/006-vagrant-demo-lab/ Prerequisites: plan.md (required), spec.md (required), research.md, data-model.md, contracts/

Organization: Tasks are grouped by user story to enable independent implementation and testing of each story.

Format: [ID] [P?] [Story] Description

Path Conventions


Phase 1: Setup (Shared Infrastructure)

Purpose: Project initialization and directory structure


Phase 2: Foundational (Blocking Prerequisites)

Purpose: Core Vagrantfile and provisioning that ALL user stories depend on

⚠️ CRITICAL: No user story work can begin until this phase is complete

Checkpoint: Foundation ready - basic vagrant up creates 4 VMs with core services


Phase 3: User Story 1 - Lab Environment Setup (Priority: P1) 🎯 MVP

Goal: Complete demo-setup.sh that brings up lab and runs provisioning with baseline snapshot

Independent Test: Run demo-setup.sh and verify all 4 VMs are running with FreeIPA, Slurm, and NFS operational

Implementation for User Story 1

Checkpoint: User Story 1 complete - demo-setup.sh provisions working lab


Phase 4: User Story 2 - Project Onboarding Demonstration (Priority: P1)

Goal: Scenario A playbook creates Project Helios with users, QOS, and storage ACLs

Independent Test: Run scenario-a-onboard.yml and verify helios group exists with alice_helios and bob_helios users

Implementation for User Story 2

Checkpoint: User Story 2 complete - Project onboarding demonstration works independently


Phase 5: User Story 3 - Compliance Drift Detection and Remediation (Priority: P1)

Goal: demo-break.sh introduces violations, assessment detects them, demo-fix.sh remediates

Independent Test: Run demo-break.sh, verify assessment fails, run demo-fix.sh, verify assessment passes

Implementation for User Story 3

Checkpoint: User Story 3 complete - Drift detection and remediation demonstration works independently


Phase 6: User Story 4 - Auditor Package Generation (Priority: P2)

Goal: Scenario C generates complete auditor package with SPRS score and evidence

Independent Test: Run scenario-c-audit.yml and verify auditor package is generated in /shared/auditor

Implementation for User Story 4

Checkpoint: User Story 4 complete - Auditor package generation demonstration works independently


Phase 7: User Story 5 - Node Lifecycle Management (Priority: P2)

Goal: Scenario D demonstrates adding compute03, compliance gate, and decommissioning

Independent Test: Run scenario-d-lifecycle.yml with add tag, verify compliance gate blocks/allows, then remove

Implementation for User Story 5

Checkpoint: User Story 5 complete - Node lifecycle demonstration works independently


Phase 8: User Story 6 - Lab Reset Between Demonstrations (Priority: P2)

Goal: demo-reset.sh restores baseline state in under 5 minutes using snapshots

Independent Test: Run any scenario, then demo-reset.sh, verify clean state in < 5 minutes

Implementation for User Story 6

Checkpoint: User Story 6 complete - Lab reset demonstration works independently


Phase 9: Polish & Cross-Cutting Concerns

Purpose: Documentation, cleanup, and validation

Validation evidence: reports/006-vagrant-demo-lab-validation.md


Dependencies & Execution Order

Phase Dependencies

User Story Dependencies

Within Each User Story

Parallel Opportunities


Parallel Example: User Story 3 (Compliance Drift)

# Launch role structure tasks in parallel:
Task: "T035 [P] [US3] Create roles/compliance_break/tasks/main.yml"
Task: "T036 [P] [US3] Create roles/compliance_break/defaults/main.yml"

# Then sequentially add violation tasks (same file):
Task: "T037 [US3] Add SSH PermitRootLogin violation task"
Task: "T038 [US3] Add auditd stop violation task"
# etc.

Implementation Strategy

MVP First (User Stories 1 + 2 + 3)

  1. Complete Phase 1: Setup
  2. Complete Phase 2: Foundational (CRITICAL - blocks all stories)
  3. Complete Phase 3: User Story 1 (Lab Setup)
  4. STOP and VALIDATE: Test that demo-setup.sh creates working lab
  5. Complete Phase 4: User Story 2 (Onboarding)
  6. Complete Phase 5: User Story 3 (Drift)
  7. STOP and VALIDATE: Test all P1 scenarios independently
  8. Deploy/demo if ready - this is the core MVP

Incremental Delivery

  1. Complete Setup + Foundational β†’ Foundation ready
  2. Add US1 (Lab Setup) β†’ Test independently β†’ First demo possible
  3. Add US2 (Onboarding) β†’ Test independently β†’ Two scenarios available
  4. Add US3 (Drift) β†’ Test independently β†’ Three scenarios available (MVP!)
  5. Add US4 (Audit) β†’ Test independently β†’ Four scenarios
  6. Add US5 (Lifecycle) β†’ Test independently β†’ Five scenarios
  7. Add US6 (Reset) β†’ Test independently β†’ Full feature complete
  8. Each story adds value without breaking previous stories

Parallel Team Strategy

With multiple developers:

  1. Team completes Setup + Foundational together
  2. Once Foundational is done:
  3. Developer A: User Story 1 (Lab Setup) - MUST complete first
  4. After US1 complete:
  5. Developer A: User Story 2 (Onboarding)
  6. Developer B: User Story 3 (Drift)
  7. Developer C: User Story 5 (Lifecycle) + User Story 6 (Reset)
  8. After US3 complete:
  9. Developer B: User Story 4 (Audit) - depends on US3

Notes